草庐IT

Java OAuth 服务器

全部标签

c# - 计划任务或服务的容错和可靠性最佳实践

我一直在研究许多作为Windows服务或计划任务运行的应用程序。现在,我想确保这些应用程序具有容错性和可靠性。例如;我有一项每小时运行一次的服务。如果服务在操作或运行时崩溃,我希望应用程序在同一时期再次运行(这涉及几件事,包括数据处理事务),以避免数据丢失。此外,我希望程序能够详细报告错误。我的目标是避免数据丢失并且不落后于运行程序。我构建了一个类库,用户可以将其导入到项目中。图书馆应该保留程序运行实例的信息,即。程序读写运行间隔、运行状态等信息,这些数据存储在数据库中。我很好奇,是否有一些最佳实践可以使计划任务/Windows服务具有容错性和可靠性。编辑:我说的是在不同服务器上的独立

c# - Exchange Web 服务 : why is ItemId not constant?

我写了一个小应用程序,它应该自动处理来自公用文件夹的电子邮件。对于每封电子邮件,我们希望在数据库中保存一些元数据。我想使用ItemID来建立此元数据和特定电子邮件之间的链接,但我刚刚发现此ItemId不是常量。例如,如果电子邮件从公共(public)文件夹移动到另一个文件夹,它将收到另一个ItemId。这意味着电子邮件和相关元数据之间的链接丢失了。那么,问题是,如何在元数据和特定电子邮件之间建立链接? 最佳答案 我的理解是,EWS唯一ID包含某种形式的EntryId。因此,一旦元素移动到另一个文件夹,它就会发生变化。虽然此处不适用,

c# - Ria 服务将复杂对象作为参数传递给查询域服务方法

我在使用WCFRIA服务时遇到了一些困难,类似于thisthread中指定的问题.我正在创建的域服务方法(一个查询方法)应该采用一个复杂的对象参数。域服务方法示例:publicComplexObjectResultGetComplexObject(ComplexObjectParametertest){//dostuff}参数对象:publicclassComplexObjectParameter{[Key]publicdecimalID{get;set;}...otherfields}我收到此编译错误:错误70域操作条目“GetComplexObject”的参数“test”必须是预定

Linux 上的 C# 服务器可伸缩性问题

我有一个在VisualStudio2010和MonoDevelop2.8上开发的C#服务器。NET框架4.0看起来此服务器在Windows上的表现(在可伸缩性方面)比在Linux上好得多。我使用Apache的ab工具在nativeWindows(12个物理内核)以及8核和12核Windows和Ubuntu虚拟机上测试了服务器可扩展性。Windows响应时间非常平稳。当并发级别接近/超过核心数量时,它开始回升。出于某种原因,Linux响应时间要差得多。从并发级别5开始,它们几乎呈线性增长。8核和12核LinuxVM的行为也类似。所以我的问题是:为什么它在linux上表现更差?(以及我该如

c# - Azure 服务总线自动更新超时

我正在通过.netSDK使用AzureServiceBus队列。OnMessageHandler/OnMessageOptions上有一个名为“AutoRenewTimeout”的标志,但似乎对该值的实际含义感到困惑。关于这里的官方文档https://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.onmessageoptions.aspx它表明AutoRenewTimeout应该大于队列锁定持续时间。Getsorsetsthemaximumdurationwithinwhichthelockwillber

c# - 重用 WCF 服务客户端

我有一个WCF网络服务充当我的ASP.NET网页的数据提供者。在整个网页中,通过自动生成的ServiceClient对Web服务进行了多次调用。目前,我创建了一个新的ServiceClient并为每个请求打开它,即获取用户、获取角色、获取客户列表等......其中每一个都会创建一个新的ServiceClient并打开一个新的连接。我能否将我的ServiceClient类设为全局或静态可用类,以便我的ASP.NET网页中的所有函数都可以使用相同的客户端。这似乎更有效率。这样做有什么问题吗?执行此操作时我应该考虑什么建议?如果我向客户发出多个请求会怎样?大概它都是同步的,所以我调用1次还是

c# - 从 Windows 服务调用时,Process.Start 不起作用

在Windows8上,我正在运行一个Windows服务。该服务应该通过启动一个程序Process.Start(exePath);但是进程会立即退出——甚至Main过程中的第一行也不会执行。以前,在Windows7上的相同服务中运行相同进程时,一切正常。如何让它重新工作?如何从Windows服务正确启动进程? 最佳答案 找到解决方案。流程必须像这样开始:ProcessStartInfoinfo=newProcessStartInfo(exePath);info.CreateNoWindow=true;info.UseShellExec

c# - 服务器和客户端应用程序之间的推送通知机制

我正在使用C#开发桌面应用程序,它通过WCFWeb服务与服务器通信。它应该是一种同步应用程序。这意味着当我在客户端应用程序上进行一些更改时,我也应该立即更新服务器(这很容易使用服务调用),但也应该提供这种机制,反之亦然,服务器上的更改必须立即应用于多个客户端。我知道我可以对我的服务器进行轮询,但这对我来说并不整洁,而且我也听说过双工服务,但我不确定我是否可以使用它来实现这种机制。我想就这个问题征求一些建议。提前致谢。 最佳答案 您需要实现发布和订阅设计。在WCF中,您可以使用net-tcp协议(protocol)连接双工客户端和服务

c# - 调用许多网络服务的最佳方式?

我有30个子公司,每个子公司都实现了他们的网络服务(使用不同的技术)。我需要实现一个web服务来聚合它们,例如,所有子公司的web服务都有一个名为GetUserPoint(intnationalCode)的web方法,我需要实现我的web服务将调用所有这些并收集所有响应(例如积分总和)。这是我的基类:publicabstractclassBaseClass{//allsameattributesandmethodspubliclongGetPoint(intnationalCode);}对于每个子公司的Web服务,我都实现了一个继承该基类的类,并定义了自己的GetPoint方法。pub

c# - 重启后 Windows 服务不会自动启动

这个问题在这里已经有了答案:"Atimeoutwasreachedwhilewaitingfortheservicetoconnect"errorafterrebooting(6个答案)关闭9年前。我自动启动的Windows服务仅在重新启动时无法启动。我有一个用C#创建并通过Wix创建的安装程序安装的Windows服务。该服务设置为自动启动。该服务在NTAUTHORITY\NETWORKSERVICE下安装和运行。当服务启动时,它首先进行外部Web服务调用。在Windows7中,我可以将服务设置为自动-延迟启动,服务将在重启时启动,没问题。但是,这个选项在WindowsXP中是不可用的